// MyClass.cpp (您已提供的代码基础上扩展)
#include "MyClass.h"
#include <string>
#include <iostream>

// 实现类定义
class MyClass::Impl {
public:
    void doSomething() {
        // 实际实现
        std::cout << "Doing something with data: " << data 
                  << " and text: " << text << std::endl;
    }
    
    void setData(int value) {
        data = value;
    }
    
    int getData() const {
        return data;
    }
    
private:
    // 隐藏的实现细节
    int data = 0;
    std::string text = "Hello Pimpl";
};

// 类的实现
MyClass::MyClass() : pImpl(std::make_unique<Impl>()) {}
MyClass::~MyClass() = default;  // unique_ptr 需要析构函数

void MyClass::doSomething() { 
    pImpl->doSomething(); 
}

void MyClass::setData(int value) {
    pImpl->setData(value);
}

int MyClass::getData() const {
    return pImpl->getData();
}